context('Control Select', () => {
	before(() => {
		cy.login();
		cy.visit('/app/website');
	});

	function get_dialog_with_select() {
		return cy.dialog({
			title: 'Select',
			fields: [{
				'fieldname': 'select_control',
				'fieldtype': 'Select',
				'placeholder': 'Select an Option',
				'options': ['', 'Option 1', 'Option 2', 'Option 2'],
			}]
		});
	}

	it('toggles placholder on clicking an option', () => {
		get_dialog_with_select().as('dialog');

		cy.get('.frappe-control[data-fieldname=select_control] .control-input').as('control');
		cy.get('.frappe-control[data-fieldname=select_control] .control-input select').as('select');
		cy.get('@control').get('.select-icon').should('exist');
		cy.get('@control').get('.placeholder').should('have.css', 'display', 'block');
		cy.get('@select').select('Option 1');
		cy.get('@control').get('.placeholder').should('have.css', 'display', 'none');
		cy.get('@select').invoke('val', '');
		cy.get('@control').get('.placeholder').should('have.css', 'display', 'block');


		cy.get('@dialog').then(dialog => {
			dialog.hide();
		});
	});
});
